package cn.tuling.v1;

/**
 * 例子：以电梯运行举例
 *
 * 电梯具有四种状态：敞门、关门、运行、停止
 */
public class StateTest {
    public static void main(String[] args) {
        ILift lift = new Lift();
        lift.open();
        lift.close();
        lift.run();
        lift.stop();
    }
}

/**
 * 电梯接口：定义电梯行为
 */
interface ILift {
    // 开门
    void open();

    // 关门
    void close();

    // 运行
    void run();

    // 停止
    void stop();
}

class Lift implements ILift {

    @Override
    public void open() {
        System.out.println("电梯开门");
    }

    @Override
    public void close() {
        System.out.println("电梯关门");
    }

    @Override
    public void run() {
        System.out.println("电梯运行");
    }

    @Override
    public void stop() {
        System.out.println("电梯停止");
    }
}
